iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0
Mobile Development

Flutter Developer Learning SwiftUI系列 第 27

Flutter Developer Learning SwiftUI. @State var lesson27 = "call RESTful API"

  • 分享至 

  • xImage
  •  

Today Preview

Yes

1. 正文

今天就來裝個套件、串個接口、轉個模型、秀個資料

裝個套件

雖然原生就有提供URLRequest等等與網路交互的方法
不叫我想還是會有很大一部分的人選擇使用Alamofire
他是Swift最多星的套件
定位就跟Flutter的Dio一樣☘️☘️☘️

Swift專案安裝套件的方式是
在文件目錄選擇專案檔>選擇專案>選擇第三個tab: 'Package Dependencies'
然後點+這個按鈕會出現以下畫面

然後我以為在右上角可以直接搜到Alamofire
結果它只能搜左邊collections的內容
好吧
當我要找有哪些collection source時
竟然找不到半個可用的!
不像Flutter有官方的pub.dev⚠️⚠️⚠️
後來找了好久終於找到這篇文
裡面有提到三個網站
最可惜的是Swift Package Index
它雖然有提供每個作者生成collection
但它竟然沒有整個網站的collection
只做半套...殘念啊...

串個接口

API是使用跟當年寫Flutter系列文一樣的XD:https://reqres.in/api/users?per_page=100
但人事已非,每個人都換頭貼了XD

而code也很簡單
跟以前UIKit時代不一樣的是:不用再call tableView.reloard()了
(也不用像Flutter一樣要call setState哈哈⚠️⚠️⚠️)

轉個模型

強力推薦使用quicktype產生model的code
在Swift,如果要跟Json互轉,必須Conform Codable
然後如果要改屬性的key,則要用到CodingKeys來去mapping

秀個資料

最後就是用state判斷有無資料來做不同的畫面呈現


 
講個題外話
上傳到YT的影片,最後一秒會被剪掉變成推薦影片
然後Simulator內建的錄影功能,如果畫面一直不動,他會幫你把靜止的部分裁掉
這兩位聯手的結果就是讓各位看不到所有頭貼出現畫面= =
最後我乾脆桌面錄影

Tomorrow Preview


跨界學習系列文章

Android版:iOS Developer Learning Android. Lesson 18 - call API (使用超越AFNetworking的網路套件)

Flutter版:iOS Developer Learning Flutter. Lesson17 API GET


https://github.com/mark33699/FDLS


上一篇
Flutter Developer Learning SwiftUI. @State var lesson26 = "生命週期+本地儲存"
下一篇
Flutter Developer Learning SwiftUI. @State var lesson28 = "多平台"
系列文
Flutter Developer Learning SwiftUI30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言